package com.ruoyi.testing.service;

import com.ruoyi.testing.domain.EmploymentNotice;

import java.util.List;
import java.util.Map;

/**
 * 从业告知书Service接口
 * 
 * @author ruoyi
 * @date 2024-04-17
 */
public interface IEmploymentNoticeService 
{
    /**
     * 查询从业告知书
     * 
     * @param gzsId 从业告知书主键
     * @return 从业告知书
     */
    public EmploymentNotice selectEmploymentNoticeByGzsId(Long gzsId);

    /**
     * 任务通知书查询从业告知书
     *
     * @param gzsId 从业告知书主键
     * @return 从业告知书
     */
    public EmploymentNotice selectEntrustmentByGzsId(Long gzsId);

    /**
     * 查询从业告知书列表
     * 
     * @param employmentNotice 从业告知书
     * @return 从业告知书集合
     */
    public List<EmploymentNotice> selectEmploymentNoticeList(EmploymentNotice employmentNotice);

    /**
     * 查询包含委托单位和检测日期的告知书列表信息
     */
    List<Map<String, Object>> selectClientAndTestTimeNotice();

    /**
     * 新增从业告知书
     * 
     * @param employmentNotice 从业告知书
     * @return 结果
     */
    public Long insertEmploymentNotice(EmploymentNotice employmentNotice);

    /**
     * 修改从业告知书
     * 
     * @param employmentNotice 从业告知书
     * @return 结果
     */
    public Long updateEmploymentNotice(EmploymentNotice employmentNotice);

    /**
     * 批量删除从业告知书
     * 
     * @param gzsIds 需要删除的从业告知书主键集合
     * @return 结果
     */
    public int deleteEmploymentNoticeByGzsIds(Long[] gzsIds);

    /**
     * 删除从业告知书信息
     * 
     * @param gzsId 从业告知书主键
     * @return 结果
     */
    public int deleteEmploymentNoticeByGzsId(Long gzsId);
}
